package nodos;

import javax.swing.tree.DefaultMutableTreeNode;

import mundo.SimboloLexico;

public class NodoExpresionBooleana extends Nodo{

	private Nodo operandoLogico;
	private SimboloLexico operadorLogico;
	private Nodo expresionBooleana;


	public NodoExpresionBooleana(Nodo operandoLogico,
			SimboloLexico operadorLogico, Nodo expresionBooleana) {
		this.operandoLogico = operandoLogico;
		this.operadorLogico = operadorLogico;
		this.expresionBooleana = expresionBooleana;
	}


	@Override
	public DefaultMutableTreeNode getSubArbolVisual() {
		DefaultMutableTreeNode raiz= new DefaultMutableTreeNode("Expresion Booleana");
		raiz.add(operandoLogico.getSubArbolVisual());
		if (operadorLogico!=null)
			raiz.add(new DefaultMutableTreeNode(operadorLogico.getLexema()));
		if (expresionBooleana!=null)
			raiz.add(expresionBooleana.getSubArbolVisual());
		return raiz;
	}


	@Override
	public String traducir(int profundidad) {
		String codJava=operandoLogico.traducir(profundidad);
		if(operadorLogico!=null)
			codJava+=operadorLogico.traducirSimbolo();
		if(expresionBooleana!=null)
			codJava+=expresionBooleana.traducir(profundidad);
		return codJava;
	}
}
